기본 콘텐츠로 건너뛰기

[ML] 결정트리(Decision Tree) 모델

[python] 주요 함수와 메서드

함수와 메소드

내용

A

statsmodels.tsa.stattools.acf(x, adjusted=False, nlags, qstats=False, alpha=None,...)

  • 매개변수 nlags에 지정한 시차까지의 자기상관계수를 반환
  • adjusted=True이면 자유도 (샘플수 - 설명변수의 수)를 고려
  • qstats=True이면 Ljung-Box q statistic 분석 즉, 자기상관=0 이라는 귀무가설을 검정하고 p-value를 반환
  • alpha를 지정하면 신뢰구간을 반환, 0.05 경우 95% 신뢰구간

statsmodels.ap.add_constant(설명변수)

  • 설명변수의 행렬에 모든 요소들이 1인 편차항을 포함시킵니다.
    • $$X=\begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix} \rightarrow X0=\begin{bmatrix}1& x_1\\1& x_2\\\vdots\\1& x_n\end{bmatrix}$$

np.allclose(A, B, rtol = 1e−05, atol = 1e−08)

  • 객체 A, B의 모든 원소가 같으면 True, 그렇지 않으면 False를 반환
  • 각 원소값은 상대 임계값(rtol)과 절대 임계값(atol)을 기준
    • rtol과 atol의 기본값은 각각 소수점 이하 5자리 그리고 8자리까지 비교

scipy.stats.ansderson(x, dist="norm")

  • x: 배열 계열의 객체
  • dist: 다양한 분포를 지정할 수 있음(‘norm’, ‘expon’, ‘logistic’, ‘gumbel’…)
    • 기본은 nor(정규분포)
  • 임계값(critical_values), 유의 수준(significance_level, %), x가 지정된 분포에 부합하면 그 분포의 위치정보(평균과 분산) 등의 통계량 반환
    • signifcance_level에 대응하는 critical_values로서 5개의 값이 반환

statsmodels.ap.stats.anova_lm(model)

np.any(객체, axis=None, …)

  • 지정한 축에 True인 원소가 존재하면 True

np.arccos(x)

  • cos 값의 역수를 반환 (y=cos(x) → x=arccos(y))

np.argsort(x, axis=-1, kind=None)

  • 객체 x를 정렬할 경우 각 값에 대응하는 인덱스를 반환합니다.
  • axis는 기준 축을 지정하기 위한 매개변수로서 정렬의 방향을 조정할 수 있음(-1은 기본값으로 마지막 축)

np.around(M, decimal=0)

  • 배열 객체 각 요소의 반올림을 실행
  • decimal은 반올림 자릿수를 지정하는 것으로서 0이 기본값

numpy.array(x, dtype=None, …)

  • x: 리스트 객체 예) [1,2,3], [[1,2],[3,4]]등
    • 객체의 대괄호 한 개는 행을, 그 내부에 포함된 값의 수는 열의 수를 의미
    • 단지 대괄호가 한개만 존재하면 벡터를 의미.
    • 시작하는 대괄호의 갯수는 차원을 나타냄. 예로서 [[1, 2], [3, 4]]의 차원은 2 × 2로 행과 열을 가진 2차원
  • dtype: 인수로 전달하는 값(들)의 자료형을 지정
    • 지정하지 않을 경우 입력한 형식으로 자동지정 됩니다.
    • 지정 예) float: 부동소수(실수)
    • 다른 자료형을 array로 전환할 경우 지정 필요

numpy.array(x, dtype=None, …)

  • x: 리스트 객체 예) [1,2,3], [[1,2],[3,4]]등
    • 객체의 대괄호 한 개는 행을, 그 내부에 포함된 값의 수는 열의 수를 의미
    • 단지 대괄호가 한개만 존재하면 벡터를 의미.
    • 시작하는 대괄호의 갯수는 차원을 나타냄. 예로서 [[1, 2], [3, 4]]의 차원은 2 × 2로 행과 열을 가진 2차원
  • dtype: 인수로 전달하는 값(들)의 자료형을 지정
    • 지정하지 않을 경우 입력한 형식으로 자동지정 됩니다.
    • 지정 예) float: 부동소수(실수)
    • 다른 자료형을 array로 전환할 경우 지정 필요

pandas.Series.autocorr(lag=1)

  • lag에 전달한 지연수에 따른 값들 사이의 자기상관을 계산

B

scipy.stats.bartlett(*samples)

  • 등분산성을 위한 Bartlett 검정을 실행
  • 두개 이상의 벡터(1 차원 numpy 객체)들을 인수로 전달
  • 통계량과 p-value를 반환

scipy.stats.bernoulli(x, p)

  • 베르누이분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다.
  • x: 랜덤변수
  • p: 단일 시행에서의 확률

DataFrame.bfill()

  • 결측지를 그 직후 값으로 치환

sklearn.preprocessing.Binarizer(*, threshold=0.0, copy=True)

  • 매개변수 threshold에 지정한 값을 기준 데이터를 이분화하는 클래스
    • x ≤ threshold → 0
    • x > threshold → 1

scipy.stats.binom(x, n, p)

  • 이항분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다.
  • x: 랜덤변수
  • n: 총 시행횟수
  • p: 단일 시행에서의 확률

C

np.random.choice(x, size=None, replace=True, p=None)

  • 주어진 수들(x)에서 무작위로 지정된 갯수(size)를 추출 합니다.
  • x: 1차원 객체 또는 정수 입니다. 만약 정수로 주어진다면 np.arange(정수)로 인식합니다. 즉, [0, 지정한 정수)의 범위에서 주어진 크기 만큼의 랜덤 샘플이 생성
  • replace: 추출의 방식을 지정. True는 복원이고 기본값입니다.
  • p: 객체의 각 값에 확률을 부여하기 위한 매개변수

식.coeff(변수, 차수)

  • 식(sympy 객체)으로부터 지정한 변수와 차수에 대응하는 계수를 반환.

collect(eq, variable)

  • 지정한 변수의 차수를 기준으로 식을 정렬하는 sympy 함수

x1.column_join(x2)

  • 객체 x1과 x2를 열의 방향으로 결합

M.columnspace()

  • 행렬 M의 열공간을 반환

scipy.special.comb(n,k)

  • n개 중에서 중복없이 순서를 고려하지 않고 k개를 선택하는 경우의 수 (조합)

itertools.combiations(x, r)

  • iterable 객체 x(확률변수)에 대해 지정한 수(r)만큼 선택한 조합의 모든 경우를 반환
  • iterable는 리스트, 튜플 형과 같이 각 요소의 순서에 맞게 호출할 수 있는 객체입니다.
  • x의 길이 = n → 0 ≤ r ≤ n
  • r > n 일 경우 itertools.combinations_with_replacement(x, r)을 사용

statsmodels.stats.weightstats.CompareMeans(d1, d2)

  • 두 샘플의 평균을 비교하는 클래스
  • 데이터 d1, d2는 DescrStatsW의 인스턴스
  • 다음의 속성을 가짐
    • std_meandiff_pooledvar: 등분산을 가정하는 경우의 표준오차
    • std_meandiff_separatevar: 이분산을 가정하는 경우의 표준오차
  • summary(), .ttest_int(), .ztest_int()등의 다양한 메서드를 포함

pandas.concat([x, y, ...], aixs=0, join='outer', ...)

  • 두개 이상의 pandas 객체(DataFrame, Series)를 결합
  • axis=0은 행단위로, 1은 열단위로 결합
  • join은 결합방식을 지정하는 매개변수로서 'outer'은 모든 행 또는 열을 결합, 'inner'는 같은 행이름 또는 열이름만 결합

np.concatenate((a,b,c,…), axis=0)

  • 여러 배열 객체들을 결합한 새로운 객체를 생성
  • axis: 결합에 기준이 되는 축 지정
    • 0:열방향(기본값)
    • 1:행방향

np.cos(rad)

  • radian 값에 대응하는 cosin 값을 반환

stats.chi2_contingency(obs, correction=True, …)

  • 교차표의 변수들 독립성에 대한 χ2 검정 결과를 반환
  • obs: 교차표
  • 자유도가 1이고 correction=True 이면 연속성에 대한 Yate’s correction을 실행
  • χ2 통계량, p-value, dof (자유도), 기대값을 반환

DataFrame.corr(method=”pearson” )

  • 객체의 상관행렬을 반환
  • np.corrcoef(x, y=None, rowvar=True, ddof)와 같음, 객체 x만 전달할 경우 rowvar 인수를 이용하여 변수가 행단위(기본) 또는 열단위인지를 지정합니다.
  • scipy.stats.pearsonr(x,y), 두 객체를 전달하여 피어슨 상관계수와 p-Value를 반환

DataFrame.cov(ddof=1)

  • 객체의 공분산행렬을 반환
  • ddof는 자유도를 계산하기 위해 표본수에서 제외되는 수를 나타냄
  • np.cov(배열객체, rowvar=True, ddof=None,...)와 같음
    • rowvar = True → 행이 변수
    • rowvar = False → 열이 변수

np.cross(x,y)

  • 벡터 x, y사이에 외적 (cross product)를 반환
  • 벡터 x, y는 행벡터이어야 합니다.

pd.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfrunc="mean", margins=False, margins_name= 'All', dropna= True, normalize=False)

  • 두 개 (또는 그 이상)의 요인(factor)에 대한 교차표를 작성합니다.
  • index, columns : 각각 행과 열에서 그룹화 할 값
  • index와 columns에 대응하는 values를 aggfunc에 지정한 계산을 시행
    alues의 지정은 aggfunc의 지정과 함께 하여야 함
  • rownames, colnames: 표의 행과 열의 이름
  • margins=True → 행합과 열합을 마지막 행과 열에 첨부, 그 행과 열의 이름은 margins_name으로 지정할 수 있음
  • dropna=True이면 NA 값은 삭제. 행과 열의 수가 일치하지 않을 경우는 False를 선택 즉, 행과 열의 수가 일치하지 않을 경우 True이면 행 기준의 합과 열의 합 사이에 불일치가 발생
  • 값들의 정규화의 여부를 지정. 이 인수에 전달 할 수 있는 인수값은 다음과 같습니다.
    • normalize=True or all 이면 각 값은 총합으로 나눈 값을 반환
    • normalize=index, 각 행에 대해 정규화
    • normalize=column, 각 열에 대해 정규화

np.cumsum(x, axis=None)

  • 객체 x의 누적합을 반환합니다.
  • 2차원 이상의 객체에서 계산의 기준이 되는 축(axis)을 지정할 수 있습니다. 지정하지 않을 경우 1차원으로 자동 변환하여 누적합을 반환합니다.

pd.cut(x, bins, right=True, labels=None, retbins=False, ...)

  • 1차원 배열의 각 값을 지정한 구간(bins)에 대응하는 구간(계급)을 반환합니다.
  • 연속형 변수를 범주형 변수로 변환할 경우 유용합니다.
  • x : 1차원 배열 객체
  • bins: 계급(class) 구간의 갯수를 나타내는 정수 또는 명시적으로 구간을 구분하기 위한 리스트 객체
  • right = Ture → (a, b] · right = False → [a, b)
  • label: 각 계급 구간에 대한 이름을 지정. 그러므로 bins의 수와 같아야 함
  • retbins: bins을 정수로 전달 할 경우 각 계급(class)의 구간을 반환

B

scipy.stats.bartlett(*samples)

  • 등분산성을 위한 Bartlett 검정을 실행
  • 두개 이상의 벡터(1 차원 numpy 객체)들을 인수로 전달
  • 통계량과 p-value를 반환

scipy.stats.bernoulli(x, p)

  • 베르누이분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다.
  • x: 랜덤변수
  • p: 단일 시행에서의 확률

DataFrame.bfill()

  • 결측지를 그 직후 값으로 치환

sklearn.preprocessing.Binarizer(*, threshold=0.0, copy=True)

  • 매개변수 threshold에 지정한 값을 기준 데이터를 이분화하는 클래스
    • x ≤ threshold → 0
    • x > threshold → 1

scipy.stats.binom(x, n, p)

  • 이항분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다.
  • x: 랜덤변수
  • n: 총 시행횟수
  • p: 단일 시행에서의 확률

D

pd.DataFrame(객체, index, columns)

  • 객체는 리스트, 사전 형태 등
  • index: 행이름
  • columns: 열이름
  • 함수에서 직접적으로 행과 열이름을 전달할 수 있지만 DataFrame 객체를 생성한 후 다음과 같이 행과 열 이름을 지정할 수 있습니다.
    • DataFrame객체.index: 행이름 지정
    • DataFrame객체.columns: 열이름 지정
  • .values 속성을 사용하여 객체의 값만을 추출하여 numpy 배열형을 변환

FinanceDataReader.DataReader(symbol, start=None, end=None, country=None)

  • python의 라이브러리인 FinanceDataReader를 사용하여 웹을 통해 다양한 금융 데이터를 호출하여 사용할 수 있으며 이 데이터의 기본 구조는 pandas.DataFrame 구조로서 여러 메소드나 함수를 적용하기에 적합니다.
  • 함수 DataReader()는 다음을 반환
    • 코드(symbol)에 대응하는 가격 데이터를 호출
    • 시작 날짜만 입력하면 현재까지의 자료를 호출

pd객체.day_name

  • pandas 객체의 성분 중 요일을 이름으로 반환하는 속성

pd객체.dayofweek

  • 객체내에서 표시된 요일을 정수로 반환하는 속성
  • 0=월요일, 6=일요일

np.deg2rad(θ)

  • θ값을 radian값으로 변환(=np.radians(θ))

pd객체.describe()

  • 객체(데이터)의 크기, 평균 등의 기술 통계량을 나타냅니다.

statsmodels.stats.weightstates.DescrStatsW(data, weights=None, ddof=0)

  • 샘플 각각에 대한 기술통계량과 검정을 실시하는 위한 클래스
  • data: 1차원, 2차원 배열로 여러 열을 가진 자료
  • mean, std, corcoef, cov등의 속성을 포함
  • ttest_mean(), tconfint_mean(), ztest_mean, zconfint_mean() 등의 다양한 메서드를 포함

scipy.stats.describe(x)

  • 배열 객체 x에 대한 기술 통계량을 반환합니다.
  • pd객체.describe()에서 반환하는 통계량 종류와 약간 차이를 보입니다.

la.det(M)

  • 행렬 M의 행렬식을 계산

np.diag(values) or np.diag(M, k=0)

  • 인수 values: 지정한 값들이 대각원소가 되는 대각행렬을 생성.
  • 인수 k
    • 지정된 k에 따른 행렬(M)의 대각 원소를 반환
    • k는 행렬에서 반환할 대각의 위치를 지정
      • k = 0 : 주(main) 대각선(기본값)
      • k > 0 인 정수 : 주 대각선을 기준으로 위쪽으로 이동
      • k < 0 인 정수 : 주 대각선을 기준으로 아래쪽으로 이동

sympy.diff(x, variable, count=1), x.diff(variable, count=1)

  • x: sympy 객체로서 식(equation)
  • 미분의 기준이 되는 변수(variable)를 지정
  • 미분의 차수(count)를 지정하여 고차미분을 실행, 기본값은 1

np.digitize(x, bin)

  • 연속형 자료에 대한 그룹화 결과를 반환
  • x: numpy 객체
  • bin: 그룹의 상한과 하한의 되는 기준 객체입니다.
    • bin=[0, 1, 2] 일 경우 그 그룹화 범위는 0 < x ≤ 1, 1 < x ≤ 2이 됩니다.
    • bin = 6 → 6개의 소그룹이 생성

sympy객체.doit()

  • sympy.integral와 같은 함수는 적분된 식의 형태를 반환합니다. 즉, 최종적인 평가가 이루어지지 않습니다. 이와 같이 평가되지 않은 상태로 반환되는 객체를 평가하기 위해 사용되는 함수입니다.

numpy.dot(x,y)

  • 객체 x와 y의 행렬곱 결과를 반환
  • 연산자 "@"와 같음: a@b

DataFrame.drop(labels=None, axis=0, …)

  • DataFrame객체에 행 또는 열을 삭제
  • labels: 행 또는 열 이름
  • axis= 0: 행 삭제, axis = 1: 열 삭제

DataFrame.dropna(axis=0, how='any', …)

  • DataFrame객체에 NaN가 포함된 행 또는 열을 삭제
  • axis= 0: 행 삭제, axis = 1: 열 삭제
  • how:'any', 'all'
    • any: 한 개 이상의 NaN이 존재하는 행 또는 열을 삭제하기
    • all: 행 또는 열의 모든 값이 NaN일 경우 삭제

statsmodels.stats.stattools.durbin_watson(resids, axis=0)

  • Durbin_Watson 통계량을 계산
  • 1차원 이상의 객체일 경우 기준 축을 지정

E

numpy.linalg.eig(x)

  • numpy array 형인 x에 대해 고유값과 고유벡터를 계산
  • sympy 패키지의 .eigvals(), .eigvects() 메소드는 각각 고유값과 고유벡터를 반환

sklearn.linear_model.ElasticNet(alpha=1.0, l1_ratio=0.5, fit_intercept=True, normalize=False, max_iter=1000, tol=0.0001, …)

  • elasticnet 회귀모델을 위한 클래스(elasticnet 회귀모형생성)
  • l1_ratio를 지정함으로서 l1 norm, l2 norm을 모두 적용할 수 있습니다. 기본값은 0.5
  • model=sklearn.linear_model.ElasticNet()
    • model.fit(x, y): 클래스에 적용될 설명변수, 종속변수를 전달하는 메서드
    • model.predict(x): 생성된 모형에 의한 추정값 산출하는 메서드
    • model.score(x, y): 결정계수(R2)을 반환하는 메서드
    • model.coef_: 모형의 회귀계수를 반환하는 속성
    • model.intercept_: 모형의 절편항를 반환하는 속성
    • 이외에도 다양한 메소드와 속성이 존재합니다.
  • ElasticNetCV() 클래스는 교차 평가(cross validation)에 의해 적절한 α와 l1 ratio를 결정하여 모델 생성
    • 클래스의 인수 cv에 의해 교차평가를 위한 그룹의 수를 지정
    • 인수 alpha에 비교할 α의 목록을 지정, 지정하지 않은 경우 자동으로 결정

sympy.Eq(x, y)

  • 식을 나타내는 두 인수 x, y로부터 x = y가 성립하는 새로운 식을 반환

np.equal(a, b)

  • 배열 객체 a, b의 원소 단위로 같음을 판단

x.evalf(n), N(x, n)

  • x를 지정된 유효숫자(n)를 기준으로 반올림합니다.

sympy.exapnd(x)

  • 식 x를 전개된 형태로 반환

scipy.stats.expon(x, loc=0, scale=1)

  • 지수분포를 위한 클래스, f(x) = exp(−x)
  • loc = 0, scale = 1: 표준화된 분포
  • expon.pdf(y) ← y = (x − loc)/scale
  • 지수분포의 모수인 평균 발생률 λ로 부터 scale=1/λ이 성립

np.eye(# of row or column)

  • 배열 객체 a, b의 원소 단위로 같음을 판단

eye(n)

  • n차원의 항등행렬을 생성

F

sklearn.feature_selection.f_classif(X, y)

  • 자료의 ANOVA F-value를 계산
  • X: 설명변수, y: 반응변수
  • F 통계량, p-value를 반환

scipy.stats.f_oneway(x, y,…)

  • 인수 x, y, …는 1차원 벡터 또는 pandas.Series 형태의 단변수 자료.
  • 각 객체에 대한 일원분산분석의 결과인 F 검정통계량과 p-value를 반환

sympy.factor(식)

  • 식을 간단한 형태로 반환 즉, 분수의 경우 인수분해한 상태의 식을 반환

np.math.factorial(n)

  • numpy.math 모듈 함수
  • 양의 정수 n의 팩토리얼을 계산(=n!)

DataFrame.ffill()

  • 결측지를 그 직전의 값으로 치환

np객체.flatten()

  • 객체의 차원을 1차원으로 변환

scipy.stats.fligner(*samples, center='median', proportiontocut=0.05)

  • samples: 1차원 벡터들에 대한 등분산성을 위한 Flinger-Killeen 검정을 실시
  • center: 중심위치는 mean(평균), median(중간값), trimmed(절사평균) 중의 하나로 지정
  • 절사평균을 지정할 경우 절사할 비율을 매개변수 propotiontocut에서 지정

sklearn.feature_selection.f_regression(x, y, center=True)

  • x의 각 설명변수와 반응변수 y에 대해 생성되는 각 회귀 모형에서의 F 분석을 실행
  • 검정통계량의 F값과 유의확률(p-value)를 반환
  • 이 함수의 인수 중 y는 1차원 즉, 벡터이어야 합니다.

sympy.fps(f, x=None, x0=0, dir=1, …)

  • 함수 f의 급수를 공식화하여 나타냅니다.
  • x: 급수의 변수
  • x0: 시작점이며 기본값은 0
  • dir: 급수 전개의 방향을 나타내며 1 또는 '+'일 경우 x0을 기준으로 오른쪽, -1 또는 '-'일 경우는 왼쪽으로 전개되는 식을 나타냄

G

scipy.speical.gamma(z)

  • 인수 z은 실수 또는 복소수이며 그 값에 대한 팩토리얼을 계산
    • app2_3

pandas.get_dummies(x, prefix=None, dummy_na=False, dtype=None)

  • 전달되는 데이터인 x는 1차원 Array, pandas Series, 그리고 DataFrame 모두 가능
  • 데이터의 고유값(unique value)에 대응하는 클래스를 생성하여 값에 적합한 클래스에 True, 나머지 클래스에 False를 할당(one-hot encoding)
    • True와 False로 표시가 기본값
    • 인수 dtype = "int": True → 1, False → 0
  • dummy_na = True: 데이터의 포함된 Na를 포함
  • pd.get_dummies(['A', 'A', 'C', 'C', 'B'])
    A B C
    0 True False False
    1 True False False
    2 False False True
    3 False False True
    4 False True False
    pd.get_dummies(['A', 'A', 'C', 'C', 'B'], dtype='int')
    A B C
    0 1 0 0
    1 1 0 0
    2 0 0 1
    3 0 0 1
    4 0 1 0
    y=pd.DataFrame([['A', 'A', 'C', 'C', 'B'],['B', 'A', 'C', 'A', 'B']])
    pd.get_dummies(y)
    0_A 0_B 1_A 2_C 3_A 3_C 4_B
    0 True False True True False True True
    1 False True True True True False True

DataFrame.groupby(by=None, axis=0, level=None, …, dropna=True)

  • 인수 by에 지정한 기준으로 데이터 프레임을 그룹화합니다.
  • by: mapping, function, label, or label들의 리스트를 인수로 전달하여 그룹화의 기준을 지정
    • 예) DataFrame.groupby("a").mean(): 인자 a에 의해 자료를 분류하고 그룹화된 값들의 평균을 반환합니다.
  • 이 함수에 의한 결과는 자료형이 지정되지 않은 상태이므로 확인을 위해서는 list()등을 적용하여 자료형을 지정해주어야 합니다. 이러한 방식의 평가를 게으른 평가(lazy estimation)이라고 합니다. 또는 반복문을 사용하여 이 결과의 각 구성물들을 확인할 수 있습니다.
  • 반환물의 구조와 속성은 dir() 함수를 사용하여 확인할 수 있습니다.

H

statsmodels.stats.diagnostic.het_breuschpagan(x, 설명변수, robust=True)

  • 회귀 모델에 의한 잔차(numpy 배열 객체)의 이분산성 검정을 실시
  • x는 다음의 잔차를 의미
    • error = y - model.predict
      residModel = error2 ~ explanatory variables
      x = residModel.resid
  • robust
    • True: 잔차의 정규성과 독립성을 가정
    • False: 잔차의 정규성만 가정
  • 라그랑주 승수 통계량, 라그랑주 승수 p-value, 잔차가 설명변수에 의존하지 않는다는 가설의 f 통계량, f 통계량에 대한 p-value를 반환

matplotlib.pyplot.hist(x, bins, density=False)

  • numpy.histogram(x, bins, density=False)와 동일하지만 이 함수는 그래프를 함께 반환합니다.

numpy.histogram(x, bins, density=False)

  • x: numpy 객체로서 2차원 이상의 객체일 경우 1차원으로 자동 변환
  • bins: 데이터를 그룹화하기 위한 클래스의 수 또는 각 그룹의 상한값과 하한값으로 구성한 객체
  • density: True일 경우, 빈도 대신 밀도가 반환
    • density = Frequency· n
      Number of bin
      n: data 크기
  • 위 식과 같이 밀도는 확률분포함수 그래프에서 (y의 길이)/(x의 길이)를 의미합니다. 그러므로 연속변수의 경우 한 지점에 대해 밀도를 특정할 수 없습니다. 대신에 연속변수를 몇 개의 구간으로 그룹화한 경우 밀도는 위의 식과 계산할 수 있습니다.

np.hstack((a, b, c,…))

  • 객체들을 행방향으로 결합 = np.c_[a, b, c,…]

I

DataFrame.insert(loc, column, value, allow_duplicates=False)

  • 지정한 위치(loc)에 데이터(열)를 삽입
  • loc: 삽입할 열 위치 (0, 1, 2, …)
  • column: 삽입할 열이름
  • value: 삽입할 열 데이터

sympy.integrate(식, 변수)

  • 식의 적분 계산
  • 부정 적분: 계산 결과에는 상수항이 생략되어 있음을 주의해야 합니다.
  • 정적분: integrate(식, (변수, 범위 하한, 범위 상한))
  • 1개 이상의 변수에 대한 다중 적분은 지정된 변수의 순서에 따라 적분이 실행됩니다.
    • integrate(식, 변수1, 변수2, ...)
    • integrate(식, (변수1, 범위 하한, 범위 상한), (변수2, 범위 하한, 범위 상한),...)
  • 미분의 Derivative()와 같이 최종적으로 Integral()함수는 평가되지 않은 적분의 형태를 반환합니다. 평가를 위해서는 .doit() 함수를 결합합니다.

numpy.linalg.inv(M)

  • M의 역행렬을 생성
  • scipy.linalg 모듈의 inv() 함수와 동일합니다.

scipy.stats.iqr(x, axis=none, rng=[25, 75])

  • x: numpy 객체
  • axis: 2차원이상의 객체의 경우 기준이 되는 축을 지정
  • rng: 사분위의 범위 계산의 기준을 지정하는 것으로 Q1, Q3가 기본값입니다.

numpy.isclose(a, b, rtol=1e-05)

  • 두 행렬의 각 요소의 같음, 다름을 True, False로 반환
  • 인수 rtol에서 지정한 위치까지의 숫자를 검사. 기본값은 소수점이하 5자리까지 검사

DataFrame.isna()

  • 값이 결측치이면 True, 아니면 False를 반환

Timestamp.isocalendar()

  • 연, 월, 일이 구성된 Timestamp 객체에서 년, 월 그리고 일을 분리하여 반환. day는 요일로 전환됨
    • 2021-1-1 → 2000, 1, 1
    • 일 :1:월요일 ∼ 7:일요일
  • Timestamp객체는 pandas의 DatetimeIndex 객체를 포함
  • 분리된 각 결과는 .year, .week, .day 속성을 사용하여 호출

J

scipy.stats.jarque_bera(x, axis=None, ...)

  • numpy 객체인 x에 대해 Jarque-Bera 정규성 검정을 실행
  • 검정통계량, p-value를 반환
  • statsmodels.stats.stattools.jarque_bera(x, axis=0)와 같음
    • 검정통계량, p-value, 왜도, 첨도를 반환

K

scipy.stats.kstest(x, cdf, args=(), N=20, alternative=’two-sided’, …)

  • Kolmogorov-Smirnov test를 수행
  • x: 1차원 데이터
  • cdf: 1차원 데이터 또는 문자열인 경우 scipy.stats에서 지원되는 함수의 이름
  • args: 분포(cdf)의 매개변수
  • N: 샘플 사이즈로 기본값은 20입니다.
  • alternative: 양측, 단측검정, 기본값은 양측검정
  • 검정통계량과 p-Value를 반환

scipy.stats.kurtosis(data, axis=0)

  • 지정한 축에 따라 자료의 첨도를 반환

L

sklearn.preprocessing.LabelBinarizer()

  • 라벨표시 행렬을 생성하는 클래스
  • fit() 메소드로 데이터를 클래스에 적합시킴
  • transform() 메소드로 이진화된 라벨표시 행렬을 반환
  • 속성 .class_으로 오름차순으로 정렬된 목록의 라벨을 확인

sklearn.preprocessing.LabelEncoder()

  • 각 변수의 인덱스를 사용하여 명목변수를 수치형으로 전환하는 클래스
  • x=sklearn.preprocessing.LabelEncoder()
    • x.fit(객체)
    • x.class : 오름차순으로 정렬한 클래스의 이름을 나타냄
    • x.transform(객체): 클래스의 인덱스를 반환, 인코딩
    • x.inverse_transform(변환된 객체): 원시데이터로 환원, 디코딩

sklearn.linear_model.Lasso(alpha=1.0, *, fit_intercept=True, normalize=False, max_iter=1000, tol=0.0001, …)

  • lasso 회귀모델을 위한 클래스(Lasso 회귀모형생성)
  • l1 norm을 적용합니다.
  • model=sklearn.linear_model.lasso()
    • model.fit(x, y): 클래스에 적용될 설명변수, 종속변수를 전달하는 메서드
    • model.predict(x): 생성된 모형에 의한 추정값 산출하는 메서드
    • model.score(x, y): 결정계수(R2)을 반환하는 메서드
    • model.coef_: 모형의 회귀계수를 반환하는 속성
    • model.intercept_: 모형의 편차를 반환하는 속성
    • 이외에도 다양한 메소드와 속성이 존재합니다.
  • LassoCV(alphas=, …) 클래스는 교차검증(cross-validation) 방법으로 적절한 α를 선정하여 lasso 모델을 생성
    • 클래스의 인수 cv에 의해 교차평가를 위한 그룹의 수를 지정
    • 인수 alpha에 비교할 α의 목록을 지정, 지정하지 않은 경우 자동으로 결정
  • LassoLarsIC(criterion="aic", …)
    • AIC 또는 BIC를 기준으로 모델을 선택
    • criterions_ 속성으로 조사하는 모델들의 AIC, 또는 BIC를 확인
    • 이 클래스에 생성되는 모델은 AIC, BIC의 최적값에 대응

scipy.stats.levene(*samples, center='median', proportiontocut=0.05)

  • samples: 1차원 벡터들에 대한 등분산성을 위한 Levene 검정을 실시
  • center: 중심위치는 mean(평균), median(중간값), trimmed(절사평균) 중의 하나로 지정
  • 절사평균을 지정할 경우 절사할 비율을 매개변수 propotiontocut에서 지정

sklearn.linear_model.LinearRegression()

  • 선형모형을 위한 클래스( 회귀모형생성)
  • 이 클래스의 메소드는 sklearn.linear_model.Lasso()와 같음

pandas.linspace(start, stop, size)

  • [start, stop) 범위에서 일정한 간격으로 지정한 크기(size)의 수들을 반환

scipy.linalg.linalg.lu(M)

  • 행렬 M의 LU 분해를 실시

M

DataFrame.mad(axis=none, skipna=na)

  • 지정한 축에 따라 평균 절대편차(mean absolute deviation)를 반환
  • axis: 연산 기준 축 지정
  • 자료가 결측치를 포함할 경우 처리 방식을 인자 skipna에 지정하며 기본값은 결측치를 무시합니다.

make_classification(n_samples, n_features, n_informative, n_redundant, n_repeated, random_state, …)

  • sklearn.datasets 클래의 함수
  • 분류용 가상 데이터를 생성
  • n_samples : 샘플의 수(행 수), 기본값 100
  • n_features : 특성(변수)의 수(열 수), 기본값 20
  • n_informative : 변수들 중 상관 관계가 있는 성분의 수, 기본값 2
  • n_redundant : 변수 중 다른 변수의 선형 조합으로 나타나는 성분의 수, 기본값 2
  • n_repeated : 독립 변수 중 단순 중복된 성분의 수, 기본값 0
  • n_classes : 변수의 클래스 수, 기본값 2
  • n_clusters_per_class : 클래스 당 클러스터의 수, 기본값 2
  • weights : 각 클래스에 할당된 표본 비율
  • random_state : 난수 발생 시드
  • 반환: X(셜명변수), y(반응변수)

make_Regression(n_samples, n_features, n_informative, n_redundant, n_repeated, …)

  • sklearn.datasets 클래의 함수
  • 회귀모델을 위한 가상 데이터를 생성
  • 함수의 인수들은 make_Classification 참조

DataFrame.mask(조건, other=None)

  • 객체내에 조건에 부합하는 값들을 other로 치환. other를 지정하지 않을 경우 조건에 부합하는 값은 NaN으로 치환.

np.max(x, axis=None)

  • 배열 객체 x에서 지정한 축에 따라 최대값을 반환
  • axis: None일 경우 1차원 벡터로 자동 변환 후 최대값 반환
  • array.max(axis), pd객체.max(axis)와 같음

sklearn.preprocessing.MaxAbsScaler()

  • 변수의 최대값의 절대값을 기준으로 각 데이터의 비를 계산
  • .fit() 메소드로 데이터에 적합시키고 .transform() 메소드로 데이터를 변형
  • .inverse_transform() 메소드를 사용하여 원 데이터로 환원
  • 다양한 속성이 있음

Matrix(x)

  • 객체 x를 행렬 등의 배열 객체로 변환
  • numpy 배열 객체의 경우 sympy의 행렬 객체로 변환

la.matrix_power(M, k)

  • 행렬 M 에 대해 Mk 를 계산

la.matrix_rank(M)

  • 행렬 M의 급수 (rank)를 반환

numpy.mean(x, axis=none, skipna=na)

  • 지정한 축을 기준으로 산술평균을 계산 (= x.mean(axis=none))
  • axis: 연산 기준 축 지정
  • 자료가 결측치를 포함할 경우 처리 방식을 인자 skipna에 지정하며 기본값은 결측치를 무시합니다.

x.mean(axis=0, skipna=True)

  • Pandas 객체 x(DataFrame, Series)의 지정한 축을 기준으로 산술평균을 계산
  • axis: 0(기본값, 열평균), 1(행평균)
  • 자료가 결측치를 포함할 경우 처리 방식을 인자 skipna에 지정하며 기본값은 결측치를 무시합니다.

sklearn.metrics.mean_absolute_error(y_true, y_pred, …)

  • 관찰값과 추정값(pred)에 대한 평균절대오차(mae)를 계산

sklearn.metrics.mean_squared_error(true, pred, squared=True, …)

  • 관측값과 추정값(pred)에 대한 평균제곱오차(mse)를 계산
  • squared=False 인 경우는 rmse(=mse0.5)를 반환
  • 이 함수는 자유도를 고려하지 않음, 즉 mse/샘플 수

numpy.median(x, axis=none, …)

  • 지정한 축을 기준으로 중간값을 반환

scipy.stats.median_abs_deviation(x, axis=0)

  • 지정한 축을 기준으로 절대 편차 중간값을 반환

pd.melt(DataFrame, id_vars, value_vars, var_names, value_name,...)

  • 자료(DataFrame)를 식별자 변수(id_vars)에 대응하는 측정 변수(value_vars)를 나타내는 형식으로 구조를 변환합니다.
  • df=pd.DataFrame({"A":["a1","a2","a3"], "B":["b1",'b2','b3'], 'c':[1,2,3],'d':[0.1,0.2,0.3]})
    df
  • A B cd
    0 a1 b1 1 0.1
    1 a2 b2 2 0.2
    2 a3 b3 3 0.3
  • pd.melt(df, id_vars=["A","B"], value_vars=["c","d"], var_name="varName", value_name="val")
  • A B varName val
    0 a1 b1 c 1.0
    1 a2 b2 c 2.0
    2 a3 b3 c 3.0
    3 a1 b1 d 0.1
    4 a2 b2 d 0.2
    5 a3 b3 d 0.3
  • id_vars: 분리의 기준이되는 변수(들)의 열이름
  • value_vars: id_vars의 각 변수에 대응하는 값들의 열이름
  • value_vars의 값들을 재구조화 합니다. 위의 경우 변수이름 c, d를 한 열에 나타내고 각각에 대응하는 값을 또다른 열에 나타냅니다. 각 열이름은 var_name, value_name으로 지정할 수 있음

np.min(x, axis=None)

  • 배열 객체 x에서 지정한 축에 따라 최소값을 반환
  • axis: None일 경우 1차원 벡터로 자동 변환후 최소값 반환
  • array.min(axis), pd객체.min(axis)과 같음

sklearn.preprocessing.MinMaxScaler(feature_range=(0, 1))

  • 데이터를 행 단위로 다음과 같이 스케일 합니다. 다음의 첫번째 식은 데이터의 표준화를 위한 것으로 분모에 분산 대신 데이터의 범위를 사용한 것입니다.
    • Xstd = x − μ
      Xmax − Xmin
      Xscaled = Xstd(Xmax − Xmin) + Xmin
  • .fit() 메소드로 데이터에 적합시키고 .transform() 메소드로 데이터를 변형
  • .inverse_transform() 메소드를 사용하여 원 데이터로 환원
  • 다양한 속성이 있음

DataFrame.mode(axis=0, numeric_only=False, dropna=True)

  • 지정한 축을 따라 최빈값을 반환

scipy.stats.mode(x, axis=0, keepdims=True)

  • 객체 x의 지정한 축(axis)에 따라 최빈값(들)을 결정합니다.
  • x는 수치형으로 구성된 객체이어야 합니다.

sklearn.preprocessing.MultiLabelBinarizer()

  • 다중클래스 표시 행렬을 생성
  • .fit() 메소드로 데이터에 적합, .transform() 메소드로 데이터로부터 다중클래스 표시행렬을 생성

N

np.ndim()

  • np 객체인 arr의 차원 반환

la.norm(v, ord=None, axis=None)

  • 벡터 v의 norm을 계산
  • 인수 ord는 norm을 계산하는 방식을 지정하는 것으로 None=Frobenius Norm을 적용(참조)
  • axis: 벡터는 1개의 축을 가지지만 행렬 이상의 객체에서 여러 개의 축들로 표현됩니다. 그러므로 axis를 지정하여 배열 내에 포함되는 각 벡터의 놈을 계산
    • 행렬의 경우 행은 1, 열 0
    • axis 값에서 행이 제일 큰 값, 다음이 열의 순으로 정해짐
    • 예) 3차원 배열의 경우 축은 3개, axis = 2: 행, 1: 열, 0: 나머지 축으로 지정

sklearn.preprocession.Normalizer(norm="l2")

  • 데이터의 각 샘플이 단위벡터가 되도록 변환
  • 인수 norm에 l1, l2 또는 max
    • norm = "l1" → L1 정규화, x/(∑|x|)
    • norm = "l2" → L2 정규화, x/(∑x2)0.5
    • norm = "max" → x/(max|x|)
    • 기본값은 l2

M.nullspace(x)

  • 객체 M의 영공간(null space)을 반환

O

sympy.O()

  • O()(알파벳 문자 O)는 x = ∞를 나타내는 기호로서 컴퓨터 과학에서 사용하는 Big O notation 입니다.

sklearn.preprocessing.OneHotEncoder()

  • 특정한 값에 해당하는 인덱스에 1, 나머지는 0을 할당하는 방식으로 데이터 변환하는 클래스
  • 전달하는 인수는 2차원 이상의 배열 구조 이어야 합니다.
  • .fit(data): estimator 생성하는 메서드
  • .transform(data): 변환된 결과를 생성하는 메서드. 이 결과는 자료형이 지정되지 않은 상태로 .toarray() 메소드에 의해 array 형으로 전환한 후 나타냄
  • 위의 두 메소드를 결합하여 .fit_transform(data)로 처리할 수 있습니다.
  • .inverse_transforme(변환된 data): 원시데이터로 환원된 결과를 반환하는 메소드
  • .categories_ : data의 클래스(목록)를 즉, 각 변수의 고유값을 반환하는 속성

statsmodels.formula.api.ols("Y ∼ C(X)", data)

  • 회귀분석을 모형을 생성하는 클래스
  • Y:반응변수, X: 설명변수
  • ols() 함수에 전달되는 인수 중 명목변수는 C(변수이름) 함수를 적용하여야 합니다.
    • 인수: "반응변수 ~ 설명변수"의 형태의 식(formula)
    • 교호작용: "설명1*설명2*..." 형태의 식을 첨가
    • 절편항을 제거하기 위해서는 식(formula)에 '-1' 을 첨가합니다.
  • 이 모형을 지정한 data에 적용하기 위해서는 .fit() 메소드를 적용
  • 모든 결과는 .summary()메소드로 나타냄

statsmodels.api.OLS(Y, X)

  • 회귀분석을 모형을 생성하는 클래스
  • Y:반응변수, X: 독립(설명)변수
  • 이 모형을 지정한 data에 적용하기 위해서는 .fit() 메소드를 생성
  • 결과는 .summary()메소드로 나타냄
  • 생성된 모델의 이상치 분석을 위한 여러 기준들은 get_influence() 메소드로 확인
    • 이상치 기준의 모든 결과는 get_influence().summary_frame() 으로 확인 할 수 있음

sklearn.preprocessing.OrdinalEncoder(categories="auto")

  • 목록변수를 정수(배열형)로 인코딩하는 클래스
  • categories를 기본값(auto)으로 지정하면 고유값들을 올림차순으로 지정하고 각각에 대응하는 인덱스로 변환, 동일한 형태의 배열형태로 값을 지정하면 그 값에 대응하여 변환

statsmodels.stats.outliers_influence.outlier_test(model, method="bonf",...)

  • Bonferroni 방법으로 이상치를 결정합니다.
  • 이 함수의 인수는 분산분석 또는 회귀분석 모델입니다.
  • Studentized residuals, the unadjusted p-value, 그리고 Bonferroni 방법에 의해 수정된 corrected p-value을 반환
    • 이 수정된 p-value 값이 1이하 값이 되면 이상치로 결정할 수 있습니다.

P

sklearn.decomposition.PCA(n_components=None, ..., random_state=None)

  • 자료에 대한 특이값 분해(SVD)를 사용하여 주성분 분석을 실행합니다.
  • n_components: 산출하고자 하는 주성분의 수로 정수 입니다
  • 속성 components_, explained_variance_는 각각 자료의 고유벡터와 고유값을 나타냄
  • 속성 expalined_variance_ratio는 고유값들의 합 중에 각 고유값 비율을 반환
  • 속성 .mean_은 각 변수의 평균(=변수.mean(axis=0))

DataFrame.pct_change(period=1,...)

  • 열단위로 period로 지정한 간격에 위치한 값들 사이의 변화율 계산, period의 기본값은 1

scipy.stats.chi2.pdf(x, df, loc=0, scale=1)

  • 카이제곱분포의 확률밀도함수를 계산
    • app2_2
  • x: 확률변수
  • df: 자유도

scipy.stats.f.pdf(x, d1, d2, loc=0, scale=1)

  • F분포의 확률밀도함수 계산
  • d1: 분자의 자유도
  • d2: 분모의 자유도

scipy.stats.pearsonr(x, y)

  • 두 배열 객체 x, y의 피어슨 상관계수와 양쪽 검정의 결과인 p-value를 반환

scipy.special.perm(n,k)

  • n개 중에서 k개를 선택하는 경우의 수(순열) 계산

itertools.permuation(확률변수, r)

  • 모든 확률변수에서 r개를 선택하는 순열의 경우를 반환
  • 확률변수의 수= n → 0 ≤ r ≤ n

Piecewise((식, 조건),(식, 조건),...)

  • 변수의 조건에 따라 적용되는 식이 다른 조각 함수(piecewise function)를 계산
  • 결과 중 특정한 부분을 선택하기 위해 object.args[index]를 사용합니다. 그 선택된 결과 중 [0]은 함수, [1]은 조건만 선택됩니다.

pandas.pivot_table(df, values=None, index=None, columns=None, aggfunc='mean', margins=False, …)

  • df: dataframe 구조의 데이터
  • index 또는 column에 따라 value를 구분하여
  • DataFrame을 index(row)와 columns에 대응하는 value를 지정한 함수 aggfunc에 따라 계산
  • pd.crosstab() 유사하지만 이 함수는 values값들이 존재해야 합니다.
  • margins=True이면 각 열 또는 각 행의 합을 계산하여 margin 열 또는 행에 나타냄
    이 열 또는 행의 이름은 margins_name='All'로 지정, 기본값은 'All'

scipy.stats.nbinom.pmf(k, n, p)

  • 음이항분포의 확률질량함수
  • k: 실패수, n: 성공수, p: 성공확률
  • scipy.stats 참조

np.precentile()

np.place(x, cond, vals)

  • 객체 x에서 조건(cond)에 해당하는 부분을 지정한 값(vals)로 변환

matplotlib.pyplot.plot(x, y, linestyle, linewidth, color, marker, markersize...)

  • 선그래프와 산점도를 작성합니다.
  • x, y: x,y 축에 입력될 값들
  • linestyle: 선 종류
  • linewidth: 선 두께
  • color: 선 색
  • marker: 점을 표시하는 모양
  • markersize: marker의 크기
  • color와 marker 또는 선 종류는 "ro", "b+", "g-"와 같이 동시에 지정할 수 있습니다. 각각 red & circle, blue & +, green & dashed line을 의미합니다.
  • 기본적으로 선그래프를 나타내지만 marker 인자만을 전달 할 경우 산포도를 작성

print()

  • 결과를 출력하는 내장함수

print()

  • 코드의 결과를 모니터에 출력합니다. 이 함수에 의한 출력은 결과의 내용만을 나타냅니다. 다음의 이 함수를 사용하지 않은 경우와 비교해보면 명확해집니다.
    • a=np.array([3, 1])
      a
    • array([3, 1])
    • print(a)
    • [3 1]
  • sympy 객체는 다음과 같이 latex 방식으로 됩니다.
    • M=Matrix([[3, 1], [2, 4]])
      M
    • appEq1
    • 이 객체는 print()함수에 의해 다음과 같이 표현됩니다.
    • print(M)
    • Matrix([[3, 1], [2, 4]])
    • sympy 객체를 numpy.array 객체로 변환하여 print()함수에 의한 결과는 다음과 같습니다.
    • print(np.array(M))
    • [[3 1]
       [2 4]]

scipy.stats.probplot(x, sparams=(), dist='norm', fit=True, plot=None, rvalue=False)

  • 지정한 분포를 기준으로 데이터(x)의 QQplot을 작성.
  • x: 배열 형태의 객체
  • sparams: 지정한 분포의 모수(형태모수, location, scale)
  • dist: 분포의 형태를 지정. 기본값은 정규분포( norm)
  • fit: 최적합 회귀선
  • plot: 이 결과를 그래프로 나타내기 위해 사용할 모듈을 지정
  • rvalue: 회귀선의 결정계수(R2) 표현 여부
  • x 축(이론적 분위수), y축(올림차순으로 정렬된 표준화된 관찰값)을 튜플로 반환
  • 회귀선의 기울기, 절편(편차), 상관계수 r을 튜플로 반환

numpy.prod(x, axis=None)

  • x: 배열 객체
  • 지정한 축(axis)를 기준으로 x의 각 요소들의 곱을 계산

DataFrame.product(axis, …)

  • DataFrame 객체의 지정한 축(axis)을 기반으로 동일한 행 또는 열의 값들을 곱을 수행

itertools.product(객체, repeat=1)

  • 객체를 시행할 경우 모든 경우를 반환
  • 인수 repeat은 시행횟수를 지정하며 기본값은 1
  • 이 함수의 결과는 게으른 평가로 이루어지므로 결과에 대해 자료형을 지정해 주어야 함
    • x=[2,1,4]
      y=itertools.product(x, repeat=2)
      list(y)
      [(2, 2), (2, 1), (2, 4), (1, 2), (1, 1), (1, 4), (4, 2), (4, 1), (4, 4)]

Q

pandas.qcut(데이터, q, labels, retbins=False, &hellips;)

  • 데이터를 q에 따라 그룹화
  • 데이터: 1차원 배열 또는 Series
  • q(bins)는 데이터를 목록화하기 위한 기준값(들), 정수(구분구간을 표시) 또는 [0, 1]사이의 실수로 구분을 위한 벡분율 예)[0., .25, .5,.75, 1.]
  • labels는 각 그룹의 명칭
  • retbins=True 이면 bins, labels를 반환

la.qr(M)

  • 행렬 M의 QR 분해하여 Q, R을 튜플로 반환

scipy.integrate.quad(식, 변수)

  • 지정한 변수에 대해 을 미분
  • 은 lambda에 의해 정의한 함수
  • 미분한 결과와 오차범위를 반환

numpy.quantile(x, q, axis=none)

  • 지정된 축을 따라 데이터(x)의 q번째 분위수를 계산합니다.
  • q: [0, 1]사이의 값 또는 그 사이 값들로 구성된 리스트
    • 예로 4분위수의 경우 :0.25, 0.50, 0.75
  • axis: 2차원이상의 객체의 경우 기준이 되는 축을 지정
    • axis = 1 → 행
    • axis = 0 → 열
  • axis를 지정하지 않는 경우 객체를 1차원으로 인식하여 모든 값들에 대해 계산합니다.
  • np.precentile() 함수는 동일한 결과를 나타내지만 q는 [0, 100] 사이의 값 즉, 퍼센트입니다.
    • 예로 4분위수의 경우 :25, 50, 75

R

r2_score(y_ture, y_pred, …)

  • 회귀모델의 결정계수(R2)를 반환

numpy.random.randint(start, end, size)

  • 시작과 마지막의 구간을 지정하여 지정한 크기의 랜덤 정수를 생성

np.rad2deg(rad)

  • radian값을 θ로 변환

np.radians(θ)

  • θ를 radian값으로 변환

np.random.randint(start, end, size=())

  • a. [시작, 끝-1]의 범위에서 지정한 size의 랜덤수(정수)를 생성
  • size: 결과의 크기와 형태 지정
    • 정수 하나이면 결과를 리스트로 반환.
    • "(행의 수, 열의 수)"와 같이 튜플형식으로 지정할 경우 배열로 반환

Rational(x) 또는 Rational(분자, 분모)

  • 부동소수를 분수로 전환하여 반환하는 sympy 함수
  • 두개의 정수 즉, 분자와 분모를 전달하여 분수를 표현
  • 전달하는 인수를 문자형으로 전환하여 전달
    • Rational('5/3') , Rational(5, 3)
    • (5/3, 5/3)

numpy.ravel(x, order="C" )

  • 객체 x를 1차원 벡터로 변환
  • order는 변환하는 축의 방향을 지정하는 매개변수
    • "C"는 행우선
    • "F"는 열 우선
    • \begin{bmatrix}1&2\\3&4\end{bmatrix} \rightarrow \begin{cases} \text{'C'}: & [1,2,3,4]\\ \text{'F'}: & [1,3,2,4]\end{cases}

arr.reshape(# of row, # of column)

  • 원소의 수 = 행의 수 × 열의 수가 성립한다면 배열(벡터 또는 행렬)의 형태를 지정한 행과 열에 따라 재배열
  • 행 또는 열에 특정한 인수가 -1인 경우 다른 인수를 기준으로 차원이 변경됩니다.

sklearn.feature_selection.RFE(estimator, n_features_to_select=None, step=1, ...)

  • 회귀계수나 변수 중요도(상관계수의 절대값)등의 결정기준으로 모델 생성에 약한 영향을 주는 변수를 제거하는 클래스.
  • 이 과정은 지정한 설명변수의 수(n_features_to_select)에 도달 할 때까지 반복됩니다.
  • estimator: 모델을 생성하는 방법
  • n_features_to_select: 최종적으로 선택하는 설명변수의 수 none(기본값)일 경우 full model의 반을 선택
  • step: 정수일 경우 반복과정 당 제거할 변수의 수, [0,1]사이의 값이면 제거할 변수의 백분율을 의미
  • 속성 n_suppiort, n_ranking은 각각 설명변수의 선택여부를 True/False로 나타내고 영향정도의 순위를 나타냅니다.

sympy객체.removeO()

  • series()에 의한 급수 전개시 O() 즉, Big O notation으로 표현된 부분을 삭제합니다.

np.repeat(x, n, axis=None)

  • 객체 x내의 각 요소를 n번 반복
  • axis: x가 2차원 이상의 객체라면 기준이 되는 축을 지정
    • np.repeat([1,3], 3)
      array([1, 1, 1, 3, 3, 3])

DataFrame.replace(x, y, inplace=False, …)

  • 객체내에 포함된 x를 y로 치환

np.reshape(x, shape), x.reshape(shape)

  • 배열객체 x를 지정한 모양(shape)로 변환합니다.
    • 예를 들어 4개의 요소를 가진 1차원 벡터를 2행 2열의 행렬로 변환하기 위해 np.shape(x, (2,2))를 시행
    • 차원 중 하나의 인수를 -1로 전달하는 경우 상대 차원에 따라 자동 조정합니다. (-1, 1)인 경우 1열로 조정한 후 행을 조정합니다.

sklearn.linear_model.Ridge(alpha=1.0, *, fit_intercept=True, max_iter=1000, tol=0.0001, …)

  • ridge 회귀모델을 위한 클래스(ridge 회귀모형생성)
  • l2 norm을 적용합니다.
  • model=sklearn.linear_model.ridge()
    • model.fit(x, y): 클래스에 적용될 설명변수, 종속변수를 전달하는 메서드
    • model.predict(x): 생성된 모형에 의한 추정값 산출하는 메서드
    • model.score(x, y): 결정계수(R2)을 반환하는 메서드
    • model.coef_: 모형의 회귀계수를 반환하는 속성
    • model.intercept_: 모형의 편차를 반환하는 속성
    • 이외에도 다양한 메소드와 속성이 존재합니다.
  • RidgeCV(alphas=, …) 클래스는 여러개의 소멸계수(α)를 인수로 전달하여 교차검증(cross-validation) 방법으로 적절한 α를 선정하고 대응하는 ridge 모델을 생성합니다.

DataFrame.rolling(n, axis=0 …)

  • DataFrame 객체에서 지정한 축(axis)을 기준으로 n 번 이동한 상태를 유지
  • 이 함수에 이어지는 함수에 따라 결과를 반환
    • 예) A.rolling(n=5, axis=0).mean()의 경우 행을 기준으로 5번 이동한 값들의 평균을 계산.
    • 이러한 이동은 A의 처음부터 마지막까지 이루어지므로 결국 각 열의 5일 이동평균을 계산.

round(값, 자릿수)

  • 실수인 값을 지정한 자릿수까지 반올림하는 파이썬 코아의 내장함수

sklearn.feature_selection.r_regression(x, y, center=True)

  • x의 각 설명변수와 반응변수 y의 pearson's r(상관계수)와 유의확률(p-value)를 반환
  • 이 함수의 인수 중 y는 1차원 즉, 벡터이어야 합니다.

x1.row_join(x2)

  • 객체 x1과 x2를 행의 방향으로 결합

x.rref(x)

  • sympy객체 x의 기약행사다리꼴을 생성.
  • 이 함수의 결과는 다음과 같이 터플 형식으로 반환됩니다. (기약행사다리꼴 행렬, column space 열의 번호)

S

x.sample(n=None, frac=None, replace=False, random_seed=None, axis=None, …)

  • DataFrame 또는 Series객체 x에서 지정한 수(n)만큼의 자료를 무작위로 샘플링
  • n 대신 선택할 표본의 비율(frac)을 지정할 수 있음
  • replace=False: 동일한 행 또는 열을 선택하지 않음
  • random_seed=정수, 표집의 재현성을 확보(np.random.seed참조)
  • axis: DataFrame 객체일 경우 기준 축을 지정

sklearn.preprocessing.scale(x, axis=0)

  • 배열객체 x를 지정한 축에 따라 표준화를 수행하는 함수
    • xstd = x − μ
      σ

plt.scatter(x, y, s, c, marker)

  • 산포도를 반환
  • x: x축의 인자로서 리스트, iteratable 객체
  • y: x에 대응되는 iterable 객체
  • 이 함수는 x와 y에 대응하는 점을 나타내는 것으로 점의 크기, 색, 모양을 지정할 수 있음
    • s: 크기
    • c: 색
    • marker : 모양(참조: https://matplotlib.org/stable/api/markers_api.html#module-matplotlib.markers)

numpy.random.seed(정수)

  • numpy.random 모듈로 부터 랜덤수 생성은 코드 실행시 마다 다른 수를 반환하는데 같은 수가 필요할 경우 이 함수와 함께 코드를 실행합니다. 이 함수에 전달한 정수하에서는 같은 알고리즘으로 랜덤수를 생성합니다.

sklearn.feature_selection.SelectFromeModel(estimator, threshold, max_features,...)

  • RFE() 클래스와 같은 기전을 가지지만 임계값(threshold)을 설정하여 그 이상 값을 나타내는 변수들 사이에서 선택이 이루어집니다.
  • 이 임계값은 모든 변수 중요도의 중앙값(평균) 또는 그 값들의 배수로 지정할 수 있습니다. 이 인수가 None으로 지정된 경우는 임계값은 평균이 됩니다.

sklearn.feature_selection.SelectKBest(function, k=10)

  • 지정한 함수(function)에 의한 점수에 따라 높은 순으로 지정한 수(k)의 변수를 선택
  • 사용할 다양한 함수(fucntion)들이 있지만 회귀분석에서는 r_regreesion(상관계수(R) 값이 결정기준), f_regression을 사용, 각 설명변수와 반응변수의 모델에서 F-value값을 반환
  • 지정한 변수의 수 k의 기본값은 10
  • scores_, pvalues_등의 속성을 가짐

DataFrame.sem(axis=None, ddof=1)

  • 지정한 축(axis)을 기준으로 Dataframe에 대한 표준오차를 계산
  • axis=None은 기본값으로 0과 같음
  • ddof는 자유도를 계산하기 위한 수를 지정, 전체수-ddof

sklearn.feature_selection.SequentialFeatureSelector(estimator, n_features_to_select='warn', tol=None, direction='forward', scoring=None, ...)

  • RFE, SelectFromModel()클래스와 같이 변수 중요도(feature_imortances_)를 기준을 사용하여 재귀적 방법으로 변수를 선택.
  • 매개변수 direction에 다음 인수를 지정하여 새로운 변수를 첨가 또는 기존의 변수를 제거하는 방향으로 변수를 선택
    • forward: 시작모델 "반응변수 = 편차항"
    • backward: 시작 모델"반응변수 = 편차항 + 모든 설명변수"
  • estimator: 추정모델
  • n_feature_to_select
    • 정수: 최종 변수의 수
    • [0, 1] 사이의 값은 선택되는 변수의 백분율
    • "auto"일 경우 tol에 따라 실행(기본값 warn과 같음)
    • "tol": score의 변화가 없는 수준에 변수의 선택실행이 중지됩니다. 그 변화의 정도를 지정
  • scoring: R2등의 점수, 지정하지 않은 경우 (None) 추정기로부터 적용할 수 있는 score를 사용

pandas.Series(x, index)

  • 1차원 배열 객체(벡터)를 표의 형태로 생성
  • x: 리스트, 또는 array 객체
  • index: 행이름
  • 함수에서 직접적으로 행과 열이름을 전달할 수 있지만 Series 객체를 생성한 후 다음과 같이 행 이름을 지정할 수 있습니다.
    • Series객체.index: 행이름 지정
  • .values 속성을 사용하여 객체의 값만을 추출하여 numpy 배열형을 변환

sympy.series(함수 또는 식, x=None, x0=0, n=6, dir="+")

  • 함수 또는 식의 급수 전개를 반환합니다.
  • x: 변수
  • x0: 변수의 초기값
  • n: 급수를 전개 할 항의 개수
  • dir: 급수 전개의 방향을 지정합니다.

x.shape

  • 객체 x의 모양(행의 수 그리고 열의 수)을 반환하는 속성(attribution)
  • x: arry, Series, DataFrame

scipy.stats.shapiro(x)

  • 자료 x에 대한 shapiro-Wilk 검정을 실시
  • 통계량 w와 p-value 를 반환

X.shift(periods=1, axis=0, fill_value=np.nan)

  • X(DataFrame, Series의 pandas 객체)의 데이터를 앞 또는 뒤로 이동
  • periods = num
    • 지정한 수(양수) 만큼 데이터를 앞으로 이동
    • 음수이면 뒤로 이동
  • 행단위로 이루어지기 위해서 axis=0, 열단위는 1로 지정

np.sin(rad)

  • radian 값에 대응하는 sin 값을 반환

x.size

  • 객체 x의 자료의 구조에 상관없이 전체 값의 수(크기)를 반환하는 속성
  • x: arry, Series, DataFrame 형

scipy.stats.skew(data, axis=0)

  • 지정한 축에 따라 자료의 왜도를 반환

numpy.linalg.solve()

  • solve(a, b)
    • a·x=b의 방정식에서 미지수 x의 값을 계산
  • solve(expression or matrix)
      solve(A, b),
    • 동차방정식 또는 matrix = 0의 식에 대한 미지수의 해를 계산
    • solve(a, b)의 형태로 위의 la.solve()와 같음
  • 두 함수의 인수는 동차방정식(식 = 0)의 형태
  • 연립방정식과 같이 여러 개의 식들이 입력될 경우 괄호로 묶어 줍니다.
    • solve((eq1, eq2, ...), (var1, var2,...)
  • 행렬 시스템(선형시스템 참조)의 해를 계산할 수 있습니다.
    • A는 계수행렬, x는 변수벡터, b는 A와 x의 행렬곱에의한 결과벡터인 시스템: Solve(A, b)
    • Appeq2
  • sympy.solve() 함수와 같음

sympy.solve(식, 변수)

  • 동차방정식(homogeneous equation, 변수)에서 미지수(변수)의 해를 계산

np.sort(x, axis=-1, kind="quicksort")

  • 객체 x를 지정한 축(axis)에 따라 정렬합니다.
  • kind는 정렬을 위한 알고리즘 방법을 지정( "quicksort", "mergesort", "heapsort" )

plt.step(x, y)

  • x와 y의 교차점들 사이를 선으로 연결하여 계단형태로 작도합니다.

sklearn.preprocessing.StandardScaler(x)

  • x는 2차원 배열 객체
  • 자료를 다음과 같이 표준화시키기 위한 클래스
    • xnormalize = x − μ
      σ
  • .transform() 메서드를 사용하여 자료 변환.
  • .inverse_transform()메서드로 변환된 값에 대응하는 원시 데이터(raw data)로 환원.
  • 변환에 사용된 평균과 분산은 각각 .mean_, .var_ 속성으로 반환.

numpy.std(x, axis=None, ddof=0, ...), DataFrame.std()

  • 지정한 축을 기준으로 배열 객체 x의 표준편차를 계산 (= array.std())
  • axis=None 의 경우 1차원 벡터로 전환하여 표준편차 계산
  • ddof: 자료의 자유도를 산출하기 위해 데이터 크기에서 빼주는 값

객체.subs(변수, 값)

  • sympy객체 내의 지정된 변수 대신에 값 또는 새로운 변수(들)를 치환하여 계산합니다.
  • 치환할 변수가 여러개일 경우 사전(dictionary)형식으로 인수를 전달 합니다.

sum(x)

  • x: 리스트 객체
  • x를 구성하는 모든 요소들의 합을 계산

np.sum(객체, axis=None)

  • 객체의 합을 계산합니다.
  • 인수 axis에 축 지정
    • 기본값은 none으로 객체의 내의 모든 값의 합을 계산
    • 행렬의 경우 열 :0, 행 :1
    • 이 순서는 행×열과 같이 객체의 형태를 나타내는 방식에서 오른쪽 부터 0, 1, 2 등을 지정하여 사용.
  • = pandas객체.sum(axis=0)

sympy.Sum(식, (변수, 시작, 마지막))

  • 식에서 지정한 변수에 따른 지정한 구간(시작, 마지막)의 합을 계산합니다.
  • 이 식은 평가되지 않은 상태로 반환
  • 결과를 평가하기 위해서는 .doit() 메소드를 적용합니다.

la.svd(M)

  • 행렬 M의 특이값분해를 실시 → M = UΣVT
  • 정규직교행렬(U), 특이값, 고유행렬의 전치행렬(VT)을 반환
    • ∑: 특이값을 대각 원소로 하는 M과 동일한 차원을 갖는 대각 행렬, 특이값 이외의 부분은 모두 0입니다.

symbols(기호로 사용할 객체, ... )

  • 객체를 기호(변수)로 지정합니다. var(객체)함수도 동일합니다.
  • 위 함수는 여러 기호를 동시에 지정할 수 있습니다.
  • 일반적으로 기호를 지정할 경우 그 기호(변수)의 범위는 실수, 복소수 등의 모든 영역을 포함합니다.
  • 변수의 범위 즉, 실수, 양수 등의 범위 조건을 위한 다양한 인자(argumnet)가 존재합니다.
    • real=True ;실수영역
    • positive=True ;양수영역
    • 위 두 조건을 함께 설정할 수 있습니다.; real=True, positive=True

T

M.T

  • 행렬 M을 전치시키는 속성
  • 함수 transpose (M)와 같은 결과를 반환

np.tile(x, n)

  • 객체 x 자체를 n번 반복
    • np.tile([1,3], 3)
      array([1, 3, 1, 3, 1, 3])

pd.Timestamp(x,...)

  • pandas time index와 같은 date 객체를 날짜 연산이 가능한 객체인 datetime 형식으로 변환하는 클래스
  • 다양한 속성과 메서드를 가지고 있음
    • 예를들어 .dayofweek 속성 또는 .weekday() 메서드는 날짜에 대응하는 요일을 반환합니다.
    • 0:월요일 ∼ 7:일요일

pandas.to_datetime(x)

  • x를 datetime 형식으로 변환
  • 이 형식은 .year, .month, .day의 속성을 가집니다. 이 속성으로 인 덱스에서 년, 월, 일에 속한 부분 만을 취할 수 있습니다.

scipy.linalg.toepliz(c, r=None)

  • Toepliz 행렬을 생성합니다.
  • c: 첫번째 열의 요소로 numpy array형식입니다.
  • r: 첫번째 행의 요소로 numpy array형식입니다. 선택사항입니다.

np.trace(M)

  • 정방행렬 M의 대각원소 들의 합을 계산

sklearn.model_selection.train_test_split(X, Y, test_size)

  • 데이터를 학습 셋과 테스트 셋으로 분리
  • X: 설명변수, Y: 반응변수
  • test_size: 전체 자료 중에서 검증에 사용할 데이터의 비율

np.transpose(arr, axes=None)

  • 객체 a를 전치시키는 함수
  • 속성 T의 경우 2차원인 행렬에 대해 행과 열을 교환하는데 반해 이 함수는 3 차원 이상의 객체(텐서)의 전치에서 교환할 축을 지정할 수 있습니다.
    • 예를 들어 3차원의 형태가 2 × 3 × 4인 경우를 4 × 2 × 3으로 교환하고자 할 때 다음과 같이 적용합니다.
    • 원 객체의 차원의 인덱스 0, 1, 2는 각각 2, 3, 4의 크기를 가집니다. 이의 전환은 0 → 1, 1 → 2, 2 → 0으로 변환되어야 합니다. 그러므로 명령은 다음과 같습니다.
    • np.transpose(arr, (1, 2, 0))

np.tril(M, k=0)

  • 행렬 M에서 k에 따른 대각 원소들을 기준으로 위쪽의 원소들을 모두 0으로 변환하여 하삼각행렬 생성
  • 인수 k는 np.diag() 참조

np.triu(M, k=0)

  • 행렬 M에서 k에 따른 대각 원소들을 기준으로 아래쪽의 원소들을 모두 0으로 변환하여 상삼각행렬 생성
  • 인수 k는 np.diag()) 참조

scipy.stats.ttest_ind(x, y, axis=0, equal_var=True)

  • 독립인 두 그룹 x, y의 t test를 실행
  • equal_var는 두 자료의 등분산성을 지정하는 것으로 기본값은 True
  • 검정통계량과 유의확률(p-value)를 반환

scipy.stats.ttest_rel(x, y, axis=0)

  • x의 각 값에 대응하는 y의 값이 존재하는 두 관련 샘플에 대한 t test를 실시(짝비교)
  • 검정통계량과 유의확률(p-value)를 반환

scipy.stats.tukey_hsd(x, y, ...)

  • 두 그룹의 평균을 비교하여 studentized range distribution(SRD) 분포를 기준으로 tukey 검정하는 클래스
  • x, y, ...: 단변수
  • pvalue, statistic의 속성, confidence_interval(confidence_level=0.95)로 각 결과를 반환

statsmodels.stats.multicomp.pairwise_tukeyhsd(x, group, alpha=0.05)

  • 두 그룹의 평균을 비교하여 studentized range distribution(SRD) 분포를 기준으로 tukey 검정하는 함수
  • x: 이 함수의 대상 자료는 각 group에 대응하는 반응변수
  • p-value와 alpha에 지정된 유의 수준에서의 신뢰구간을 반환
  • plot_simultaneous() 메소드를 사용하여 결과를 시각적으로 나타냄

type(x)

  • 객체 x의 자료형을 반환하는 함수

U

np.unique(x, return_index=False, return_counts=False, axis=None)

  • 객체 x에서 고유한 요소들과 각각의 빈도를 반환
  • return_index: 반환된 요소들의 인덱스 (첫 번째로 감지되는 인덱스)
  • return_counts: 각 고유값(unique)의 빈도수
  • axis=None: 함수가 실행되는 기준 축, None는 객체를 1차원으로 전환

V

pd객체.values

  • Series, DataFrame의 pandas객체에서 값만을 추출하여 numpy 배열로 반환

pd객체.value_counts(normalize=False, sort=True, ascending=False, dropna=True)

  • 고유한 값의 빈도수를 포함하는 Series를 반환합니다.
  • normalize: 빈도수를 상대 빈도로 변환
  • sort: 빈도수에 따라 결과를 정렬
    • ascending=True 올림차순, False 내림차순
  • dropna=True, 결측치를 제거

numpy.var(x, axis=None, ddof=0, ...), x.var(axis=None, ddof=0, ...)

  • 객체 x의 분산을 계산
  • x: array, DataFrame, Series 객체
  • axis: 연산의 방향을 지정
  • ddof: 자료의 자유도를 산출하기 위해 고려되는 값

statsmodel.stats.outliers_influence.variance_inflation_factor(변수, 제외할 변수의 인덱스)

  • 설명변수에서 특정한 변수를 제외한 경우의 VIF를 계산

np.vstack((a, b, c,…))

  • 객체들을 열방향으로 결합 (= np.r_[a, b, c, …])

W

pd객체.weekday()

  • 요일을 정수로 반환하는 메소드
  • 월요일 : 0 ∼ 일요일 : 6

numpy.where(조건)

  • 조건이 참인 경우의 인덱스를 튜플 형식으로 반환

DataFrame.where(조건, other=None)

  • 객체내에 조건에 부합하는 값들을 other로 치환. other를 지정하지 않을 경우 조건에 부합하는 값은 NaN으로 치환.

Z

statsmodels.stats.weightstats.zconfint(x, y=None, value=0, alpha=0.05, alternative="two-side", ddof=1.0)

  • alpha를 통해 유의수준을 지정
  • 다른 인자들은 ztest() 함수와 같음
  • 결과: (신뢰구간의 하한, 상한)

scipy.stats.zscore(x)

  • 객체의 값들을 z 점수화하여 반환

statsmodels.stats.weightstats.ztest(x, y=None, value=0, alternative="two-side", ddof=1.0)

  • x, y는 배열 데이터로 1차원 또는 2차원, y는 생략 가능
  • value는 귀무가설에 고려되는 값
    • one-sample → H0: μ = value
    • two-sample → H0: xbar - ybar = value
  • alternative
    • "wo-side" → H0: xbar = ybar
    • "larger" → H0: xbar > ybar
    • "smaller" → H0: xbar < ybar
  • ddof는 자유도를 계산하기 위해 자료 크기에 제외하는 수
  • 결과: (검정통계량, p-value)

댓글

이 블로그의 인기 게시물

[Linear Algebra] 유사변환(Similarity transformation)

유사변환(Similarity transformation) n×n 차원의 정방 행렬 A, B 그리고 가역 행렬 P 사이에 식 1의 관계가 성립하면 행렬 A와 B는 유사행렬(similarity matrix)이 되며 행렬 A를 가역행렬 P와 B로 분해하는 것을 유사 변환(similarity transformation) 이라고 합니다. $$\tag{1} A = PBP^{-1} \Leftrightarrow P^{-1}AP = B $$ 식 2는 식 1의 양변에 B의 고유값을 고려한 것입니다. \begin{align}\tag{식 2} B - \lambda I &= P^{-1}AP – \lambda P^{-1}P\\ &= P^{-1}(AP – \lambda P)\\ &= P^{-1}(A - \lambda I)P \end{align} 식 2의 행렬식은 식 3과 같이 정리됩니다. \begin{align} &\begin{aligned}\textsf{det}(B - \lambda I ) & = \textsf{det}(P^{-1}(AP – \lambda P))\\ &= \textsf{det}(P^{-1}) \textsf{det}((A – \lambda I)) \textsf{det}(P)\\ &= \textsf{det}(P^{-1}) \textsf{det}(P) \textsf{det}((A – \lambda I))\\ &= \textsf{det}(A – \lambda I)\end{aligned}\\ &\begin{aligned}\because \; \textsf{det}(P^{-1}) \textsf{det}(P) &= \textsf{det}(P^{-1}P)\\ &= \textsf{det}(I)\end{aligned}\end{align} 유사행렬의 특성 유사행렬인 두 정방행렬 A와 B는 'A ~ B' 와 같

[matplotlib] 히스토그램(Histogram)

히스토그램(Histogram) 히스토그램은 확률분포의 그래픽적인 표현이며 막대그래프의 종류입니다. 이 그래프가 확률분포와 관계가 있으므로 통계적 요소를 나타내기 위해 많이 사용됩니다. plt.hist(X, bins=10)함수를 사용합니다. x=np.random.randn(1000) plt.hist(x, 10) plt.show() 위 그래프의 y축은 각 구간에 해당하는 갯수이다. 빈도수 대신 확률밀도를 나타내기 위해서는 위 함수의 매개변수 normed=True로 조정하여 나타낼 수 있다. 또한 매개변수 bins의 인수를 숫자로 전달할 수 있지만 리스트 객체로 지정할 수 있다. 막대그래프의 경우와 마찬가지로 각 막대의 폭은 매개변수 width에 의해 조정된다. y=np.linspace(min(x)-1, max(x)+1, 10) y array([-4.48810153, -3.54351935, -2.59893717, -1.65435499, -0.70977282, 0.23480936, 1.17939154, 2.12397372, 3.0685559 , 4.01313807]) plt.hist(x, y, normed=True) plt.show()

R 미분과 적분

내용 expression 미분 2차 미분 mosaic를 사용한 미분 적분 미분과 적분 R에서의 미분과 적분 함수는 expression()함수에 의해 생성된 표현식을 대상으로 합니다. expression expression(문자, 또는 식) 이 표현식의 평가는 eval() 함수에 의해 실행됩니다. > ex1<-expression(1+0:9) > ex1 expression(1 + 0:9) > eval(ex1) [1] 1 2 3 4 5 6 7 8 9 10 > ex2<-expression(u, 2, u+0:9) > ex2 expression(u, 2, u + 0:9) > ex2[1] expression(u) > ex2[2] expression(2) > ex2[3] expression(u + 0:9) > u<-0.9 > eval(ex2[3]) [1] 0.9 1.9 2.9 3.9 4.9 5.9 6.9 7.9 8.9 9.9 미분 D(표현식, 미분 변수) 함수로 미분을 실행합니다. 이 함수의 표현식은 expression() 함수로 생성된 객체이며 미분 변수는 다음 식의 분모의 변수를 의미합니다. $$\frac{d}{d \text{변수}}\text{표현식}$$ 이 함수는 어떤 함수의 미분의 결과를 표현식으로 반환합니다. > D(expression(2*x^3), "x") 2 * (3 * x^2) > eq<-expression(log(x)) > eq expression(log(x)) > D(eq, "x") 1/x > eq2<-expression(a/(1+b*exp(-d*x))); eq2 expression(a/(1 + b * exp(-d * x))) > D(eq2, "x") a * (b * (exp(-d * x) * d))/(1 + b